package com.bzm.pojo.goods;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 * 产品信息
 * </p>
 *
 * @author hemiao
 * @since 2020-10-21
 */
public class GoodsInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 主账号id
     */
    private Integer mainUserId;

    private Integer userId;

    /**
     * 商品分类id
     */
    private Integer categoryId;

    /**
     * 商品类别  商品类别可能是多个 以逗号分隔存储
     */
    private String categoryIds;

    /**
     * 品牌id
     */
    private Integer brandId;

    /**
     * 商品编号 年月日+主账号id+6位随机数
     */
    private String goodsNumber;

    private String goodsName;

    private String goodsTitle;

    /**
     *  商品类型  1、商品 
     */
    private Integer goodsType;

    /**
     *  交易类型  1、出售 
     */
    private Integer dealType;

    /**
     * 商品单位   个、件
     */
    private String goodsUnit;

    /**
     * 商品状态  1、上架中   2、下架中  3、系统下架  4、草稿箱  5、已删除
     */
    private Integer goodsStatus;

    /**
     * 商品状态备注
     */
    private String statusRemark;

    /**
     * 商品时间
     */
    private LocalDateTime goodsTime;

    private Integer createUserId;

    private LocalDateTime createTime;

    private Integer updateUserId;

    private LocalDateTime updateTime;

    /**
     * 商品详情json格式
     */
    private String goodsDetails;

    /**
     * 交货方式  关联商品交货方式表
     */
    private Integer deliveryMethodId;

    /**
     * 是否新品  1代表TRUE，0代表FALSE
     */
    private Integer isNew;

    /**
     * 是否热卖 1代表TRUE，0代表FALSE
     */
    private Integer isHot;

    /**
     * 是否在售 1代表TRUE，0代表FALSE
     */
    private Integer isOnSale;

    /**
     * 浏览次数  默认0
     */
    private Integer viewCount;

    /**
     * 收藏 次数
     */
    private Integer collectCount;

    /**
     * 超赞 默认0
     */
    private Integer praiseCount;

    /**
     * 想要次数 默认0
     */
    private Integer wantCount;

    /**
     * 商品数量   sku_count + 起来总和
     */
    private Integer goodsCount;

    /**
     * 原价
     */
    private BigDecimal originalPrice;

    /**
     * 销售价格 已这个为准
     */
    private BigDecimal salePrice;

    /**
     * 主文件 可以是图片  可以是视频
     */
    private String mainFileUrl;

    /**
     * 视频封面
     */
    private String videoCoverUrl;

    /**
     * 类型 image/jpeg 、image/png、video/mp4
     */
    private String mainFileType;

    /**
     * 产品文件  多个 逗号分隔
     */
    private String goodsFiles;

    /**
     * 来源   电脑端 windos ，微信小程序 wx_applet，app
     */
    private String dataSource;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getMainUserId() {
        return mainUserId;
    }

    public void setMainUserId(Integer mainUserId) {
        this.mainUserId = mainUserId;
    }
    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }
    public String getCategoryIds() {
        return categoryIds;
    }

    public void setCategoryIds(String categoryIds) {
        this.categoryIds = categoryIds;
    }
    public Integer getBrandId() {
        return brandId;
    }

    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }
    public String getGoodsNumber() {
        return goodsNumber;
    }

    public void setGoodsNumber(String goodsNumber) {
        this.goodsNumber = goodsNumber;
    }
    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }
    public String getGoodsTitle() {
        return goodsTitle;
    }

    public void setGoodsTitle(String goodsTitle) {
        this.goodsTitle = goodsTitle;
    }
    public Integer getGoodsType() {
        return goodsType;
    }

    public void setGoodsType(Integer goodsType) {
        this.goodsType = goodsType;
    }
    public Integer getDealType() {
        return dealType;
    }

    public void setDealType(Integer dealType) {
        this.dealType = dealType;
    }
    public String getGoodsUnit() {
        return goodsUnit;
    }

    public void setGoodsUnit(String goodsUnit) {
        this.goodsUnit = goodsUnit;
    }
    public Integer getGoodsStatus() {
        return goodsStatus;
    }

    public void setGoodsStatus(Integer goodsStatus) {
        this.goodsStatus = goodsStatus;
    }
    public String getStatusRemark() {
        return statusRemark;
    }

    public void setStatusRemark(String statusRemark) {
        this.statusRemark = statusRemark;
    }
    public LocalDateTime getGoodsTime() {
        return goodsTime;
    }

    public void setGoodsTime(LocalDateTime goodsTime) {
        this.goodsTime = goodsTime;
    }
    public Integer getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Integer createUserId) {
        this.createUserId = createUserId;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public Integer getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(Integer updateUserId) {
        this.updateUserId = updateUserId;
    }
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
    public String getGoodsDetails() {
        return goodsDetails;
    }

    public void setGoodsDetails(String goodsDetails) {
        this.goodsDetails = goodsDetails;
    }
    public Integer getDeliveryMethodId() {
        return deliveryMethodId;
    }

    public void setDeliveryMethodId(Integer deliveryMethodId) {
        this.deliveryMethodId = deliveryMethodId;
    }
    public Integer getIsNew() {
        return isNew;
    }

    public void setIsNew(Integer isNew) {
        this.isNew = isNew;
    }
    public Integer getIsHot() {
        return isHot;
    }

    public void setIsHot(Integer isHot) {
        this.isHot = isHot;
    }
    public Integer getIsOnSale() {
        return isOnSale;
    }

    public void setIsOnSale(Integer isOnSale) {
        this.isOnSale = isOnSale;
    }
    public Integer getViewCount() {
        return viewCount;
    }

    public void setViewCount(Integer viewCount) {
        this.viewCount = viewCount;
    }
    public Integer getCollectCount() {
        return collectCount;
    }

    public void setCollectCount(Integer collectCount) {
        this.collectCount = collectCount;
    }
    public Integer getPraiseCount() {
        return praiseCount;
    }

    public void setPraiseCount(Integer praiseCount) {
        this.praiseCount = praiseCount;
    }
    public Integer getWantCount() {
        return wantCount;
    }

    public void setWantCount(Integer wantCount) {
        this.wantCount = wantCount;
    }
    public Integer getGoodsCount() {
        return goodsCount;
    }

    public void setGoodsCount(Integer goodsCount) {
        this.goodsCount = goodsCount;
    }
    public BigDecimal getOriginalPrice() {
        return originalPrice;
    }

    public void setOriginalPrice(BigDecimal originalPrice) {
        this.originalPrice = originalPrice;
    }
    public BigDecimal getSalePrice() {
        return salePrice;
    }

    public void setSalePrice(BigDecimal salePrice) {
        this.salePrice = salePrice;
    }
    public String getMainFileUrl() {
        return mainFileUrl;
    }

    public void setMainFileUrl(String mainFileUrl) {
        this.mainFileUrl = mainFileUrl;
    }
    public String getVideoCoverUrl() {
        return videoCoverUrl;
    }

    public void setVideoCoverUrl(String videoCoverUrl) {
        this.videoCoverUrl = videoCoverUrl;
    }
    public String getMainFileType() {
        return mainFileType;
    }

    public void setMainFileType(String mainFileType) {
        this.mainFileType = mainFileType;
    }
    public String getGoodsFiles() {
        return goodsFiles;
    }

    public void setGoodsFiles(String goodsFiles) {
        this.goodsFiles = goodsFiles;
    }
    public String getDataSource() {
        return dataSource;
    }

    public void setDataSource(String dataSource) {
        this.dataSource = dataSource;
    }

    @Override
    public String toString() {
        return "GoodsInfo{" +
        "id=" + id +
        ", mainUserId=" + mainUserId +
        ", userId=" + userId +
        ", categoryId=" + categoryId +
        ", categoryIds=" + categoryIds +
        ", brandId=" + brandId +
        ", goodsNumber=" + goodsNumber +
        ", goodsName=" + goodsName +
        ", goodsTitle=" + goodsTitle +
        ", goodsType=" + goodsType +
        ", dealType=" + dealType +
        ", goodsUnit=" + goodsUnit +
        ", goodsStatus=" + goodsStatus +
        ", statusRemark=" + statusRemark +
        ", goodsTime=" + goodsTime +
        ", createUserId=" + createUserId +
        ", createTime=" + createTime +
        ", updateUserId=" + updateUserId +
        ", updateTime=" + updateTime +
        ", goodsDetails=" + goodsDetails +
        ", deliveryMethodId=" + deliveryMethodId +
        ", isNew=" + isNew +
        ", isHot=" + isHot +
        ", isOnSale=" + isOnSale +
        ", viewCount=" + viewCount +
        ", collectCount=" + collectCount +
        ", praiseCount=" + praiseCount +
        ", wantCount=" + wantCount +
        ", goodsCount=" + goodsCount +
        ", originalPrice=" + originalPrice +
        ", salePrice=" + salePrice +
        ", mainFileUrl=" + mainFileUrl +
        ", videoCoverUrl=" + videoCoverUrl +
        ", mainFileType=" + mainFileType +
        ", goodsFiles=" + goodsFiles +
        ", dataSource=" + dataSource +
        "}";
    }
}
